package com.zrrd.yunchmall.order.service;

import com.zrrd.yunchmall.order.entity.Order;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zrrd.yunchmall.user.entity.Admin;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 订单表 服务类
 * </p>
 *
 * @author LiYe
 * @since 2024-01-15
 */
public interface IOrderService extends IService<Order> {

    /**
     * 提交订单的方法
     * @param pid 商品id
     * @param num 购买数量
     * @param memberId 会员id
     * @param memberUsername 会员用户名
     * @param receiverName 收件人姓名
     * @param receiverPhone 收件人电话
     */
    void submitOrder(Integer pid, Integer num, Integer memberId, String memberUsername, String receiverName, String receiverPhone);

    void closeOrder(String ids, String note);

    void delivery(List<Map<String, Object>> params);

    /**
     * 执行批量删除订单的操作，同时记录操作操作日志
     * @param ids 待删除的订单id列表，使用英文逗号分割多个id
     */
    void remove(String ids, Admin admin);

    /**
     * 修改订单的收件人信息
     * @param params
     */
    void updateReceiverInfo(Map<String, Object> params);

    /**
     * 修改订单的费用信息（运费和折扣）
     * @param params
     */
    void updateMoneyInfo(Map<String, Object> params, Admin admin);
}
